package com.ibeeking.found.common.enums.sms;

/**
 * @ClassName MsgChannelEnum
 * @Description 消息发送方式枚举
 * @Author ibeeking
 * @Date 2021-02-23 12:19
 **/
public enum MsgChannelEnum {
    /**
     * 短信
     */
    SYS_MESSAGE("系统消息",1),
    /**
     * 短信
     */
    SYS_TEMPLATE("系统模板消息",2),

    /**
     * 短信
     */
    SMS_MESSAGE("短信消息",3),

    /**
     * 短信
     */
    SMS_TEMPLATE("短信模板消息",4),

    /**
     * 邮件
     */
    EMAIL_MESSAGE("邮件消息",5),
    /**
     * 邮件
     */
    EMAIL_TEMPLATE("邮件模板消息",6),

    /**
     * 微信企业号模板消息
     */
    WX_CP_MESSAGE("企业号消息",7),

    /**
     * 微信小程序模板消息
     */
    WX_MA_TEMPLATE("小程序模板",8),

    /**
     * 微信小程序群发消息
     */
    WX_MA_MASS("小程序群发",9),

    /**
     * 微信小程序群发消息
     */
    WX_MA_SCRIBE("小程序订阅号消息",10),

    /**
     * 微信公众号模板消息
     */
    WX_MP_TEMPLATE("公众号模板",11),

    /**
     * 微信公众号群发消息
     */
    WX_MP_MASS("公众号群发",12),
    ;

    /**
     * 描述
     */
    private String desc;
    private Integer code;
    MsgChannelEnum(String desc, Integer code) {
        this.desc = desc;
        this.code = code;
    }

    public String getDesc() {
        return desc;
    }

    public Integer getCode() {
        return code;
    }

    public static String getDescByCode(Integer code) {
        for (MsgChannelEnum enumObj : values()) {
            if (enumObj.getCode().equals(code)) {
                return enumObj.getDesc();
            }
        }
        return null;
    }

    public static MsgChannelEnum getEnumByCode(Integer code) {
        for (MsgChannelEnum enumObj : values()) {
            if (enumObj.getCode().equals(code)) {
                return enumObj;
            }
        }
        return null;
    }
}
